package com.sumainfor.wx.tenant.service.impl.GmioFeign;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sumainfor.common.utlis.ParamsCommon;
import com.sumainfor.wx.tenant.dao.TctenTenantCouponsMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;

import java.util.HashMap;
import java.util.Map;

/**
 * 功能描述:
 * 运营部-优惠券
 *
 * @Auther: zhlu
 * @Date: 2019/4/7 16:16
 * @Description:
 */
@Service
public class TenantCouService {

    @Autowired
    TctenTenantCouponsMapper TctenTenantCouponsMapper;

    /**
     * 功能描述:
     * 根据优惠券编号和租客编号获取当前优惠券是否是当前租客的
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/7 16:18
     */
    public Map<String, Object> getTenantCouCount(Map<String, Object> params) {
        Map<String, Object> getTenantCouCount = TctenTenantCouponsMapper.getTenantCouCount(params);
        return getTenantCouCount;
    }

    /**
     * 功能描述:
     * 根据优惠券编号和租客修改优惠券已使用
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/4/7 16:18
     */
    @Transactional(rollbackFor = Exception.class)
    public boolean UpdateTenantCou(Map<String, Object> params) {
        boolean result = false;
        try {
            //修改处理
            Map<String, Object> commonUpdateParms = new HashMap<String, Object>();
            commonUpdateParms.put("term", "1");// 创建端 Insert端： 1 租客端 2市场部 3 工程部   4运营部   5财务部  6总经办 7发展部
            commonUpdateParms.put("fnc",
                    this.getClass().getSimpleName() + "." + Thread.currentThread().getStackTrace()[1].getMethodName());// 创建Function名
            ParamsCommon.commonUpdateParms(commonUpdateParms);
            params.putAll(commonUpdateParms);
            params.put("State", "1");//0.未使用   1.已使用
            TctenTenantCouponsMapper.UpdateTenantCou(params);
            result = true;
        } catch (Exception e) {
            e.printStackTrace();
            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
        }
        return result;
    }

    /**
     * 查询获取用户信息数据
     *
     * @param page
     * @param search
     * @return
     */
    public Page<Map<String, Object>> selectTenantTableList(Page page, String search) {
        return (Page<Map<String, Object>>) TctenTenantCouponsMapper.selectTeantTableList(page, search);
    }

    /**
     * 获取租客手机号
     * @param params
     * @return
     */
    public Map<String,Object> getTenPhone(Map<String,Object> params){
        return TctenTenantCouponsMapper.getTenPhone(params);
    }

}
